﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Lists;
using GeneralLibs;

namespace ListForms
{
    public partial class FrmEditNhomDichVu : ListForms.FrmBaseEditForm
    {
        public FrmEditNhomDichVu(Lists.NhomVatTuHangHoa NhomVatTuHangHoa)
        {
            InitializeComponent();
            _DoiTuong = NhomVatTuHangHoa;
        }
        protected override void FillData()
        {
            lkTKGiaVon.Properties.DataSource = DanhMucTaiKhoan.GetByLoaiTaiKhoan(LoaiTaiKhoan.NoiBang | LoaiTaiKhoan.TaiKhoanCapThapNhat).DataView;
            cbmNhomVatTuHangHoaChaID.DataSource = DanhMucNhomVatTuHangHoa.Filter("LienQuanDenKho = 0").DataView;
            cbmNhomVatTuHangHoaChaID.DisplayColumn = "Ten";
            cbmNhomVatTuHangHoaChaID.ValueColumn = "ID";
            cbmNhomVatTuHangHoaChaID.AddVisibleColumn("Ma", "Mã");
            cbmNhomVatTuHangHoaChaID.AddVisibleColumn("Ten", "Tên");

            txtMa.Select();
            if (_DoiTuong == null)
            {
                this.Text = "Thêm mới nhóm Thuốc";
                _DoiTuong = DanhMucNhomVatTuHangHoa.Instance.NewDoiTuong();
                _EditState = EditState.CreatingNew;
            }
            else
            {
                this.Text = "Sửa thông tin nhóm Thuốc";
                txtTen.Text = (_DoiTuong as NhomVatTuHangHoa).Ten;
                txtMa.Text = (_DoiTuong as NhomVatTuHangHoa).Ma;
                lkTKGiaVon.EditValue = (_DoiTuong as NhomVatTuHangHoa).TaiKhoanGiaVon.ID;
                if ((_DoiTuong as Lists.NhomVatTuHangHoa).NhomVatTuHangHoaCha != null)
                    cbmNhomVatTuHangHoaChaID.EditValue = (_DoiTuong as NhomVatTuHangHoa).NhomVatTuHangHoaCha.ID;
                _EditState = EditState.Modifying;
            }
        }

        protected override bool CheckFullInfo()
        {
            if (txtMa.Text == "") throw new CustomException("Chưa điền mã nhóm Thuốc", ExceptionType.LackOfInputInfo);
            if (txtTen.Text == "") throw new CustomException("Chưa điền tên nhóm Thuốc", ExceptionType.LackOfInputInfo);
            if (lkTKGiaVon.EditValue == null) throw new CustomException("Chưa chọn tài khoản giá vốn", ExceptionType.LackOfInputInfo);
            return true;
        }

        protected override void SetDoiTuongProperties()
        {
            (_DoiTuong as Lists.NhomVatTuHangHoa).Ma = txtMa.Text;
            (_DoiTuong as Lists.NhomVatTuHangHoa).Ten = txtTen.Text;
            (_DoiTuong as Lists.NhomVatTuHangHoa).TaiKhoanGiaVon = DanhMucTaiKhoan.Instance.GetByID((Guid)lkTKGiaVon.EditValue);
            (_DoiTuong as Lists.NhomVatTuHangHoa).NhomVatTuHangHoaCha = DanhMucNhomVatTuHangHoa.Instance.GetByID((Guid)cbmNhomVatTuHangHoaChaID.EditValue);
            (_DoiTuong as Lists.NhomVatTuHangHoa).LienQuanDenKho = false;
        }

    }
}

